//============================================================================================
/**
 * @file	syswork.c
 * @brief	プログラム、スクリプトからアクセスされるシステムワーク操作
 * @author	Satoshi Nohara
 * @date	06.03.12
 */
//============================================================================================
#include "common.h"
#include "fieldsys.h"
#include "script.h"
#include "field/evwkdef.h"
#include "syswork.h"
#include "sysflag.h"				//SysFlag_
#include "fielddata/script/savework.h"
#include "poketool/monsno.h"		//ポケモンナンバー
#include "field/move_pokemon_def.h"

#include "savedata/randomgroup.h"

//============================================================================================
//
//	プロトタイプ宣言
//
//============================================================================================
static BOOL SysWork_Set( EVENTWORK* ev, u16 work, u16 no );
static u16 SysWork_Get( EVENTWORK* ev, u16 work );
BOOL SysWork_FirstPokeNoSet( EVENTWORK* ev, u16 no );
u16 SysWork_FirstPokeNoGet( EVENTWORK* ev );
u16 SysWork_RivalPokeNoGet( EVENTWORK* ev );
u16 SysWork_SupportPokeNoGet( EVENTWORK* ev );


//============================================================================================
//
//	関数
//
//============================================================================================

//--------------------------------------------------------------------------------------------
/**
 * システムワークセット
 *
 * @param	ev			EVENTWORKへのポインタ
 * @param	work		ワークナンバー
 * @param	no			セットする値
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
static BOOL SysWork_Set( EVENTWORK* ev, u16 work, u16 no )
{
	u16* p	= EventWork_GetEventWorkAdrs( ev, work );

	if( (work < SVWK_START) || (work > SCWK_START ) ){
		GF_ASSERT( (0) && "不正なワークIDが渡されました！" );
		return FALSE;
	}

	if( p == NULL ){
		return FALSE;
	}

	*p = no;
	return TRUE;
}

//--------------------------------------------------------------------------------------------
/**
 * システムワークゲット
 *
 * @param	ev			EVENTWORKのポインタ
 * @param	work		ワークナンバー
 *
 * @return	"ワークの値"
 */
//--------------------------------------------------------------------------------------------
static u16 SysWork_Get( EVENTWORK* ev, u16 work )
{
	u16* p	= EventWork_GetEventWorkAdrs( ev, work );

	if( p == NULL ){
		return 0;
	}

	return *p;
}


//============================================================================================
//
//	連れ歩きトレーナーID格納ワーク関連
//
//============================================================================================

//--------------------------------------------------------------------------------------------
/**
 * 連れ歩きトレーナーID格納ワークセット
 *
 * @param	ev			EVENTWORKへのポインタ
 * @param	no			トレーナーID
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_PairTrainerIDSet( EVENTWORK* ev, u16 no )
{
	return SysWork_Set( ev, SYS_WORK_PAIR_TRAINER_ID, no );
}

//--------------------------------------------------------------------------------------------
/**
 * 連れ歩きトレーナーID格納ワークゲット
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"トレーナーID"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_PairTrainerIDGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_PAIR_TRAINER_ID );
}


//============================================================================================
//
//	最初のポケモンナンバー関連
//
//============================================================================================

//--------------------------------------------------------------------------------------------
/**
 * 最初のポケモンナンバーセット
 *
 * @param	ev			EVENTWORKへのポインタ
 * @param	no			ポケモンナンバー
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_FirstPokeNoSet( EVENTWORK* ev, u16 no )
{
	return SysWork_Set( ev, SYS_WORK_FIRST_POKE_NO, no );
}

//--------------------------------------------------------------------------------------------
/**
 * 最初のポケモンナンバーゲット
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"最初のポケモンナンバー"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_FirstPokeNoGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_FIRST_POKE_NO );
}

//--------------------------------------------------------------------------------------------
/**
 * ライバルのポケモンナンバーゲット
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"ライバルのポケモンナンバー"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_RivalPokeNoGet( EVENTWORK* ev )
{
	u16 rival;
	u16 first = SysWork_Get( ev, SYS_WORK_FIRST_POKE_NO );

#if 1
	if( first == MONSNO_NAETORU ){
		rival = MONSNO_HIKOZARU;
	}else if( first == MONSNO_HIKOZARU ){
		rival = MONSNO_POTTYAMA;
	}else{
		rival = MONSNO_NAETORU;
	}
#endif

	return rival;
}

//--------------------------------------------------------------------------------------------
/**
 * サポートのポケモンナンバーゲット
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"サポートのポケモンナンバー"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_SupportPokeNoGet( EVENTWORK* ev )
{
	u16 support;
	u16 first = SysWork_Get( ev, SYS_WORK_FIRST_POKE_NO );

#if 1
	if( first == MONSNO_NAETORU ){
		support = MONSNO_POTTYAMA;
	}else if( first == MONSNO_HIKOZARU ){
		support = MONSNO_NAETORU;
	}else{
		support = MONSNO_HIKOZARU;
	}
#endif

	return support;
}


//============================================================================================
//
//	おおきさくらべ関連
//
//============================================================================================

//--------------------------------------------------------------------------------------------
/**
 * 現在の記録を取得
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"個体値"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_OokisaRecordGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_OOKISA_RECORD );
}

//--------------------------------------------------------------------------------------------
/**
 * 記録を書き換える
 *
 * @param	ev		EVENTWORKへのポインタ
 * @param	no			個体値
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_OokisaRecordSet( EVENTWORK* ev, u16 no )
{
	return SysWork_Set( ev, SYS_WORK_OOKISA_RECORD, no );
}

//--------------------------------------------------------------------------------------------
/**
 * アンノーンノート　メモオープンレベルをセット
 *
 * @param	ev		EVENTWORKへのポインタ
 * @param	no		セットカウント
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_AnnoonNoteMemoOpenLevelSet( EVENTWORK* ev, u16 level )
{
	return SysWork_Set( ev, SYS_WORK_ANNOON_NOTE, level );
}

//--------------------------------------------------------------------------------------------
/**
 * アンノーンノート　メモオープンレベルを取得
 *
 * @param	ev		EVENTWORKへのポインタ
 * @param	no		セットカウント
 *
 * @return	"現在のレベル"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_AnnoonNoteMemoOpenLevelGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_ANNOON_NOTE );
}



//============================================================================================
//
//
//			配布イベント関連
//
//
//============================================================================================
//--------------------------------------------------------------------------------------------
/**
 * @brief	それぞれの配布イベントに対応したマジックナンバーを返す
 */
//--------------------------------------------------------------------------------------------
static const u16 get_haihu_magicnumber(int ex_event_id)
{
	static const u16 magic_number[] = {
		0x06F2,
		0xAD7C,
//		0x910E,
	};
	GF_ASSERT(0 <= ex_event_id && ex_event_id < NELEMS(magic_number));
	return magic_number[ex_event_id];
}

//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
void SysWork_HaihuEventWorkSet(EVENTWORK * ev, int haihu_id)
{
	SysWork_Set(ev, SYS_WORK_HAIHU_EVENT01 + haihu_id, get_haihu_magicnumber(haihu_id));
}

//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
void SysWork_HaihuEventWorkClear(EVENTWORK * ev, int haihu_id)
{
	SysWork_Set(ev, SYS_WORK_HAIHU_EVENT01 + haihu_id, 0);
}

//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
BOOL SysWork_HaihuEventWorkCheck(EVENTWORK * ev, int haihu_id)
{
	if (SysWork_Get(ev, SYS_WORK_HAIHU_EVENT01 + haihu_id) == get_haihu_magicnumber(haihu_id)) {
		return TRUE;
	} else {
		return FALSE;
	}
}

//--------------------------------------------------------------
/**
 * 移動ポケモン　ワークセット
 *
 * @param	ev	EVENTWORK *
 * @param	move_id	移動ポケモンID field/move_pokemon_def.h
 * @param	num		ワークにセットする値
 *
 * @retval	non
 *
 * num = 2 倒した
 * num = 1 捕獲した
 */
//--------------------------------------------------------------
void SysWork_MovePokeWorkSet( EVENTWORK* ev, u8 move_id, u16 num )
{
	if(move_id < MOVE_POKE_MAX){
		SysWork_Set(ev, SYS_WORK_MV_POKE_RAIKOU + move_id, num);
	}
}

//============================================================================================
//
//
//			隠しマップ関連
//
//
//============================================================================================
//--------------------------------------------------------------------------------------------
/**
 * @brief	それぞれに対応したマジックナンバーを返す
 */
//--------------------------------------------------------------------------------------------
static get_hidemap_magicnumber(int hidemap_id)
{
	static const u16 magic_number[] = {
		HIDEMAP_MAGIC_KEY_ID_T28,
		HIDEMAP_MAGIC_KEY_ID_T29,
		HIDEMAP_MAGIC_KEY_ID_L04,
		HIDEMAP_MAGIC_KEY_ID_D18,
	};
	GF_ASSERT(0 <= hidemap_id && hidemap_id < HIDEMAP_ID_MAX);
	return magic_number[hidemap_id];

}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
void SysWork_HideMapWorkSet(EVENTWORK * ev, int hidemap_id)
{
	GF_ASSERT(0 <= hidemap_id && hidemap_id < HIDEMAP_ID_MAX);
	SysWork_Set(ev, SYS_WORK_HIDEMAP_T28 + hidemap_id, get_hidemap_magicnumber(hidemap_id));
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
void SysWork_HideMapWorkClear(EVENTWORK * ev, int hidemap_id)
{
	GF_ASSERT(0 <= hidemap_id && hidemap_id < HIDEMAP_ID_MAX);
	SysWork_Set(ev, SYS_WORK_HIDEMAP_T28 + hidemap_id, 0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
BOOL SysWork_HideMapWorkCheck(EVENTWORK * ev, int hidemap_id)
{
	GF_ASSERT(0 <= hidemap_id && hidemap_id < HIDEMAP_ID_MAX);
	if(SysWork_Get(ev, SYS_WORK_HIDEMAP_T28 + hidemap_id) == get_hidemap_magicnumber(hidemap_id)) {
		return TRUE;
	} else {
		return FALSE;
	}
}

//--------------------------------------------------------------------------------------------
//			ポケモンクジ関連
//--------------------------------------------------------------------------------------------

//--------------------------------------------------------------------------------------------
/**
 * ポケモンクジ乱数に値をセット
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
void SysWork_pokelot_value_set( EVENTWORK* ev ,u32 val)
{
	u16 L, H;

	H = (val >> 16) & 0xffff;
	L = val & 0xffff;
	SysWork_Set( ev, SYS_WORK_POKELOT_RND1, L );
	SysWork_Set( ev, SYS_WORK_POKELOT_RND1, H );

}

//--------------------------------------------------------------------------------------------
/**
 * ポケモンクジ乱数の値をゲット
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
u32 SysWork_pokelot_value_get(EVENTWORK* ev)
{
	u16 L, H;
	L = SysWork_Get( ev, SYS_WORK_POKELOT_RND1 );
	H = SysWork_Get( ev, SYS_WORK_POKELOT_RND2 );
	return ((H<<16)|L);
}

//--------------------------------------------------------------------------------------------
/**
 * ポケモンクジ乱数の値を初期化
 *  ゲーム開始時の初期化処理
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
void SysWorkInitPokeLot(EVENTWORK* ev)
{
	u16  L, H;

	L = gf_rand();
	H = gf_rand();
	OS_Printf("PokeLot L[%d] H[%d]\n",L,H);
	SysWork_pokelot_value_set(ev,(H<<16) | L);
}

//--------------------------------------------------------------------------------------------
/**
 * ポケモンクジ乱数の値を初期化
 * 日数経過による更新処理
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
void SysWorkUpdatePokeLot(SAVEDATA *sv,u16 days)
{
	EVENTWORK * ev = SaveData_GetEventWork(sv);
	u32  value;

	value = RandomGroup_GetDefaultRandom(SaveData_GetRandomGroup(sv));

	value = value * 1103515245L + 12345;

	SysWork_pokelot_value_set(ev,value);
}


//--------------------------------------------------------------------------------------------
/**
 * １日１回、ポケモンのレベルと同じ数のとき、アイテムをくれるおじさん
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"カウント"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_PokeLevelNoGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_POKE_LEVEL_NO );
}

//--------------------------------------------------------------------------------------------
/**
 * １日１回、ポケモンのレベルと同じ数のとき、アイテムをくれるおじさん
 *
 * @param	ev		EVENTWORKへのポインタ
 * @param	no		セットカウント
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_PokeLevelNoSet( EVENTWORK* ev ,u16 no)
{
	return SysWork_Set( ev, SYS_WORK_POKE_LEVEL_NO, no );
}

//--------------------------------------------------------------------------------------------
/**
 * １日１回、ポケモンのレベルと同じ数のとき、アイテムをくれるおじさん
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
void SysWorkUpdatePokeLevelNo(SAVEDATA *sv)
{
	EVENTWORK * ev = SaveData_GetEventWork(sv);
	u32  value;

	value = (gf_rand() % 98) + 2;		//2-99
	SysWork_PokeLevelNoSet(ev,value);
}

//--------------------------------------------------------------------------------------------
/**
 * レンチャン数をゲット
 *
 * @param	ev		EVENTWORKへのポインタ
 * @param	no		セットカウント
 *
 * @return	カウント
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_RensyouCountGet( EVENTWORK* ev)
{
	u16		count;
	count = SysWork_Get( ev, SYS_WORK_RENSYOU_COUNT );
	return count;
}

//--------------------------------------------------------------------------------------------
/**
 * レンチャン数をセット
 *
 * @param	ev		EVENTWORKへのポインタ
 * @param	no		セットカウント
 *
 * @return	"TRUE=セット出来た、FALSE=セット出来なかった"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_RensyouCountSet( EVENTWORK* ev, u16 no )
{
	OS_Printf("SYS_WORK_RENSYOU_COUNT <- [%d]\n",no);
	return SysWork_Set( ev, SYS_WORK_RENSYOU_COUNT , no );
}

//--------------------------------------------------------------------------------------------
/**
 *	デパート購入回数
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"数値セット成功なら１失敗なら０"
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_RegularCountPlus( EVENTWORK* ev )
{
	u16 count;
	count = SysWork_Get( ev, SYS_WORK_DEPART_COUNT );
	if(count < 10000) {		//※ループしないようにリミットつき
		count++;
	}else{
		count = 10000;
	}
	return SysWork_Set( ev, SYS_WORK_DEPART_COUNT, count );
}

//--------------------------------------------------------------------------------------------
/**
 *	デパート購入回数
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"カウント"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_RegularCountGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_DEPART_COUNT );
}

//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
u16 SysWork_FriendlyStepCountGet(EVENTWORK * ev)
{
	return SysWork_Get(ev, SYS_WORK_FRIENDLY_COUNT);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
void SysWork_FriendlyStepCountSet(EVENTWORK * ev, u16 step)
{
	SysWork_Set(ev, SYS_WORK_FRIENDLY_COUNT, step);
}

//--------------------------------------------------------------
/**
 * 記念プリントワークの状態を取得(ファクトリー)
 *
 * @param	ev	EVENTWORK *
 *
 * @retval	"イベントナンバー"
 */
//--------------------------------------------------------------
u16 SysWork_MemoryPrintFactory( EVENTWORK *ev )
{
	return( SysWork_Get(ev,SYS_WORK_MEMORY_PRINT_FACTORY) );
}

//--------------------------------------------------------------
/**
 * 記念プリントワークの状態を取得(ステージ)
 *
 * @param	ev	EVENTWORK *
 *
 * @retval	"イベントナンバー"
 */
//--------------------------------------------------------------
u16 SysWork_MemoryPrintStage( EVENTWORK *ev )
{
	return( SysWork_Get(ev,SYS_WORK_MEMORY_PRINT_STAGE) );
}

//--------------------------------------------------------------
/**
 * 記念プリントワークの状態を取得(キャッスル)
 *
 * @param	ev	EVENTWORK *
 *
 * @retval	"イベントナンバー"
 */
//--------------------------------------------------------------
u16 SysWork_MemoryPrintCastle( EVENTWORK *ev )
{
	return( SysWork_Get(ev,SYS_WORK_MEMORY_PRINT_CASTLE) );
}

//--------------------------------------------------------------
/**
 * 記念プリントワークの状態を取得(ルーレット)
 *
 * @param	ev	EVENTWORK *
 *
 * @retval	"イベントナンバー"
 */
//--------------------------------------------------------------
u16 SysWork_MemoryPrintRoulette( EVENTWORK *ev )
{
	return( SysWork_Get(ev,SYS_WORK_MEMORY_PRINT_ROULETTE) );
}

//--------------------------------------------------------------
/**
 * 記念プリントワークの状態を取得(タワー)
 *
 * @param	ev	EVENTWORK *
 *
 * @retval	"イベントナンバー"
 */
//--------------------------------------------------------------
u16 SysWork_MemoryPrintTower( EVENTWORK *ev )
{
	return( SysWork_Get(ev,SYS_WORK_MEMORY_PRINT_TOWER) );
}

//--------------------------------------------------------------
/**
 * アルセウス　イベント進行状況を取得
 *
 * @param	ev	EVENTWORK *
 *
 * @retval	"イベントナンバー"
 */
//--------------------------------------------------------------
u16 SysWork_AruseusuEventGet( EVENTWORK *ev )
{
	return( SysWork_Get(ev,SYS_WORK_ARUSEUSU) );
}

//--------------------------------------------------------------
/**
 * アルセウス　イベント進行状況をセット
 * @param	ev	EVENTWORK *
 * @param	no	"イベントナンバー"
 * @retval	non
 */
//--------------------------------------------------------------
void SysWork_AruseusuEventSet( EVENTWORK *ev, u16 no )
{
	SysWork_Set( ev, SYS_WORK_ARUSEUSU, no );
}

//--------------------------------------------------------------------------------------------
/**
 * WIFIフロンティアのTEMPクリアフラグ取得
 *
 * @param	ev		EVENTWORKのポインタ
 *
 * @return	"0=クリアしていない、1=クリアしている"
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_WifiFrClearFlagGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_WIFI_FR_CLEAR_FLAG );
}

//--------------------------------------------------------------------------------------------
/**
 * ロケット団占拠イベント発生中かどうかを判断する
 *
 *	@param	ev		EVENTWORKのポインタ
 *	@retval	TRUE 占拠イベント中
 *	@retval	FALSE 占拠イベント中ではない
 */
//--------------------------------------------------------------------------------------------
BOOL SysWork_CheckDuaringTheRadioTowerEvent( EVENTWORK* ev )
{
	u16 value = SysWork_Get( ev, WK_SCENE_T25 );

	if(value < 2 || value > 4){
		return FALSE;
	}
	return TRUE;
}

//--------------------------------------------------------------------------------------------
/**
 * サファリミッション進行状態をチェックする
 *
 * @reteurn	SAFARI_MISSION_XXXX syswork_def.h
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_GetSafariMissionStatus( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_SAFARI_MISSION );
}
//--------------------------------------------------------------------------------------------
/**
 * サファリミッション進行状態を設定する
 *
 * @reteurn	SAFARI_MISSION_XXXX syswork_def.h
 */
//--------------------------------------------------------------------------------------------
void SysWork_SetSafariMissionStatus( EVENTWORK* ev, u16 mission_st)
{
	SysWork_Set( ev, SYS_WORK_SAFARI_MISSION, mission_st );
}

//--------------------------------------------------------------------------------------------
/**
 * 虫取り大会賞品をストックする
 */
//--------------------------------------------------------------------------------------------
void SysWork_MushitoriPrizeStock( EVENTWORK* ev ,u16 itemno)
{
	SysWork_Set( ev, SYS_WORK_MUSHITORI_PRIZE, itemno );
}

//--------------------------------------------------------------------------------------------
/**
 * アオイの合言葉抽選
 */
//--------------------------------------------------------------------------------------------
void SysWork_AoiAikotobaSet( EVENTWORK* ev )
{
	u16 now = SysWork_Get( ev, SYS_WORK_AOI_AIKOTOBA );
	u16 rnd  = gf_rand()%30;

	if(now == rnd){
		rnd = (rnd+1)%30;	//ずらす
	}
	SysWork_Set( ev, SYS_WORK_AOI_AIKOTOBA, rnd );
}

//--------------------------------------------------------------------------------------------
/**
 * アオイの合言葉　取得
 */
//--------------------------------------------------------------------------------------------
u16 SysWork_AoiAikotobaGet( EVENTWORK* ev )
{
	return SysWork_Get( ev, SYS_WORK_AOI_AIKOTOBA );
}

#ifdef PM_DEBUG

//--------------------------------------------------------------------------------------------
/**
 * ジャージ入手
 */
//--------------------------------------------------------------------------------------------
void SysWork_CommPkthOpenSet( EVENTWORK* ev)
{
	u16 no = SysWork_Get( ev, WK_SCENE_D49R0101);
	if (no == 0){
		SysWork_Set( ev, WK_SCENE_D49R0101, 1 );
	}
}

#endif



